package com.xuecheng.api.content;

import com.xuecheng.api.system.model.dto.CourseBaseDTO;
import com.xuecheng.api.content.model.qo.QueryCourseModel;
import com.xuecheng.api.content.model.vo.CourseBaseVO;
import com.xuecheng.common.domain.page.PageRequestParams;
import com.xuecheng.common.domain.page.PageVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;

@Api(value = "课程基础信息api", tags = "课程基础信息api", description = "课程基础信息api管理基础信息数据")
public interface CourseBaseApi {


    @ApiOperation("分页条件查询课程基础信息")
    PageVO queryCourseBaseList(PageRequestParams params, QueryCourseModel model);

    @ApiOperation(value = "保存课程基本信息")
    @ApiImplicitParam(name = "CourseBaseVO",value = "课程基本信息vo",required = true, paramType = "body", dataType = "CourseBaseVO")
    CourseBaseDTO createCourseBase(CourseBaseVO vo);

    @ApiOperation("查询课程基本信息")
    @ApiImplicitParam(name = "courseBaseId",value ="课程基本信息Id" ,paramType ="path" ,dataType ="long" ,required = true)
    CourseBaseDTO getCourseBase(Long courseBaseId);

    @ApiOperation("修改课程基本信息")
    @ApiImplicitParam(name ="CourseBaseVO" ,value ="课程基本信息vo" ,required = true,paramType = "body",dataType = "CourseBaseVO")
    CourseBaseDTO modifyCourseBase(CourseBaseVO courseBaseVO);


    @ApiOperation("根据课程id删除课程信息")
    @ApiImplicitParam(name = "courseBaseId",value ="课程id" ,required = true,paramType = "path",dataType ="long" )
    void removeCoursebase(Long courseBaseId);
}
